Digital waveform drawing is a technique that is utilized to display data, for example measurements related to the performance of a system, over a period of time. The technique involves digitally plotting pixels, which correspond to the data, in a waveform on a screen of a display.
It is often desirable to continuously display data received over several periods of time. However, the screen of the display is limited in size and after a waveform has been displayed for a certain period of time, the waveform has to be replaced to reflect the data received from a subsequent period of time.
Software programs are utilized to determine which pixels should be digitally plotted, such that the data appears on the screen of a display as part of a continuous waveform. A wide variety of software can be used to determine the pixels.
A waveform drawing system and method is shown by Harry M. Gilbert for a Waveform Drawing System and Method, U.S. Pat. No. 7,079,143, and is incorporated herein by reference. The technique for image drawing avoided redundant plotting of pixels when replacing an existing image, for example, a waveform, with a new waveform.
The analysis of a waveform has been difficult in the past, in that a large amount of data has to be checked in order to analyze the information of the waveform. Such analysis is labor intensive and requires a large amount of time and processing power. For example, analyzing vehicle waveforms that are captured digitally often requires complex passes of the array of digital values to determine the location of certain values of the waveforms. For example, determining the location of the average value of the waveform or portions of the waveform, as well as the location of the peak and lowest point of the waveform, and significant regions of the waveform requires the complex passes of the array of digital values. Such extensive techniques are not efficient and therefore time is wasted and labor costs are increased with the time delay. A faster processor can be used, but then there is an increased demand of power and potential increase in required cache memory. Additionally, the increased load upon the device, may also increase the size and cost of the device itself, that performs the analysis.
Further, the current analysis of waveforms is limited to only certain specific types of waveforms. Such a limitation is very restrictive and can give incorrect results if applied on certain type of data.
Further, efficient waveform analysis is important when time is critical. For example, in the automotive industry there can be a restriction on the time available to analyze a waveform. The current methods are difficult to implement for rapid and real-time or almost real-time analysis of the data provided, given the amount of work in a garage.
There is a need to have an efficient technique for analyzing waveforms that is both accurate and easy to implement. Furthermore, there is a need that such analysis can be used for a wide variety of implementations.